Interpolation of discrete multi-dimensional data, such as an image defined on rectangular 2-dimensional grids, is needed in many practical applications. For example, we may need to zoom in on a region of interest, as for surveillance, to rotate an image, or transform data from polar to Cartesian coordinates, as required for Computed tomography imaging. When images are processed to change spatial resolution or positions of the pixels, interpolation is done by choosing a known algorithm that fits best the particular purpose. The compromise is to be reached between speed and quality of interpolation. The fastest, but worst in quality, is interpolation for the new pixel the value from the nearest neighbor. The best for quality, but worst for speed, are bicubic and higher-order polynomial interpolation algorithms involving few nearest ‘rings’ of pixels from the source image surrounding each pixel in the processed image. Notice that all these algorithms change the frequency content, and thus the initial information, of the original image.
The current standard image compression techniques, like JPEG, involve a step of dividing an image spatially into blocks, and calculating coefficients of the discrete transform (which is the discrete cosine transform, or DCT, in case of JPEG) for the pixel values of each block. These coefficients, if uncompressed, can be used to determine the exact pixel values of each block without loss of data by using the inverse discrete transform. While lossless coding of the transform coefficients can result in some reduction in data bit size, for the most part, the data compression takes place by reducing the information representing the transform coefficients. This compression is done in a way that has a reduced impact on the image appearance. For example, coefficients related to frequencies of lesser importance, which typically correspond to higher frequencies, can be eliminated or represented with lower precision. This step is called quantization of the coefficient data.